home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programmierung
/
Power-Programmierung (Tewi)(1994).iso
/
magazine
/
progjour
/
1989
/
index
/
pj_7idx
Wrap
Text File
|
1992-02-06
|
48KB
|
869 lines
Programmer's Journal volume 7.1 January/February 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
README.71 4391 Crunched 2300 48% 12-15-88 00:58:26 7FE6
SPMTPL 598 Crunched 406 33% 10-18-88 05:25:06 D64B
SPMTPL.C 2830 Crunched 1731 39% 10-24-88 08:23:00 8F5D
SPMTPL.DEF 260 Crunched 226 14% 06-21-88 07:36:24 972C
SPMTPL.EXE 4656 Crunched 2910 38% 10-24-88 08:23:40 C9C8
SPMTPL.H 1011 Crunched 726 29% 07-22-88 10:49:06 C225
SPMTPL.RC 320 Crunched 261 19% 06-21-88 07:47:40 D17C
SPMTPLNT.C 2252 Crunched 1369 40% 10-18-88 05:52:24 424E
TCUNIT.PAS 5990 Crunched 2930 52% 12-15-88 00:47:50 F1D8
TCUNIT.TPU 5216 Crunched 3230 39% 12-15-88 00:51:54 A926
VGA71-L1.ASM 8300 Crunched 4484 46% 10-16-88 05:52:26 A921
VGA71-L2.ASM 6967 Crunched 3834 45% 10-16-88 05:52:26 3CE7
WINDGLOB.PAS 720 Crunched 479 34% 12-15-88 00:48:08 E96E
WINDGLOB.TPU 672 Crunched 324 52% 12-15-88 00:51:54 A80D
WINDINST.EXE 8944 Crunched 7357 18% 12-15-88 00:51:56 0A0A
WINDINST.PAS 1644 Crunched 951 43% 09-10-88 20:59:00 343E
WINDTEST.EXE 4896 Crunched 4394 11% 12-15-88 00:51:22 FA5D
WINDTEST.PAS 1929 Crunched 1149 41% 09-10-88 20:58:56 26E0
WINH19.C 13420 Crunched 6353 53% 10-23-88 19:16:30 17EA
WINH19FN.C 14589 Crunched 7408 50% 10-23-88 23:13:02 DC25
---- ------ ------ -----
0020 89605 52822 42%
"Higher 256-color Resolution on the VGA"--when is 320x200 really 320x400,
and those less obvious high resolution VGA color modes
by Michael Abrash
VGA71-L1.ASM Program to demonstrate pixel drawing in 320x400
256-color mode on the VGA. Draws 8 lines to form an
octogon, a pixel at a time. Draws 8 octogons in all,
one on top of the other, each in a different color set.
Although it's not used, a pixel read function is also
provided
VGA71-L2.ASM Program to demonstrate the two pages available in
320x400 256-color modes on a VGA. Draws diagonal color
bars in all 256 colors in page 0, then does the same in
page 1 (but with bars tilted the other way), and finally
draws vertical color bars in page 0
"Demagnetizing Static Variables"--Modifying typed constants (alias static
Variables) stored in Turbo 4.0 and 5.0 compiled EXE code files is hairy
business, but it can be done.
by Tom Swan
TCUNIT.PAS Program for editing typed constants in EXE files
for Turbo Pascal 4.0 or 5.0
TCUNIT.TPU A TPU compiled with Turbo Pascal 5.0
WINDGLOB.PAS Typed constants for WINDTEST and WINDINST
WINDGLOB.TPU and a Turbo Pascal 5.0 TPU
WINDTEST.PAS A sample test program in Turbo Pascal 4.0/5.0
WINDTEST.EXE and the generated TP 5.0 executable file
WINDINST.PAS Windtest installer in Turbo Pascal 4.0/5.0
WINDINST.EXE and a TP 5.0 executable
"Terminal Emulation under Windows"
by William S. Hall
WINH19.C Program entry module extracts from a Windows H19
terminal emulator in Microsoft C
WINH19FN.C Emulator function support module extracts from a
Windows H19 terminal emulator in Microsoft C
Also, since William Hall's article "An OS/2 Presentation Manager Application
Template", PJ 6.5, Microsoft has altered the API enough to break
the original code. In particular, WinCreateStdWindow has
changed. Bill has included a new version which should compile and
run correctly under the current PM SDK, version 4.99.
SPMTPL A make file for SPMTPL
SPMTPL.DEF The Presentation Manager .DEF file
SPMTPL.H The header file with constant definitions for the
strings in the resource file as well as globals
terminal emulator in Microsoft C
SPMTPL.RC The resource file
SPMTPL.C The main C source code to SPMTBL
SPMTBLNT.C The code needed only during for startup
SPMTPL.EXE An executable version of the SPM Presentation
Manager template
Programmer's Journal volume 7.2 March/April 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
ANIMATE.ASM 14534 Crunched 6946 53% 12-12-88 09:37:54 7DD0
ANIMATE.EXE 2169 Crunched 636 71% 02-26-89 21:39:18 BFC2
CDLL.C 548 Crunched 368 33% 02-26-89 21:25:28 210D
CDLL.DEF 88 Crunched 87 2% 02-26-89 21:27:24 1F1C
CINIT.ASM 587 Crunched 337 43% 02-26-89 21:27:04 47FC
DEVCHAIN.ASM 3562 Crunched 1893 47% 02-26-89 21:08:12 CDBE
DEVCHAIN.COM 790 Crunched 479 40% 02-26-89 21:08:30 B976
EXAMPLE.ASM 2132 Crunched 883 59% 02-26-89 21:21:02 1CD8
FORMAT.PAS 5703 Crunched 2637 54% 02-28-89 12:33:36 4571
MASMDLL.ASM 1220 Crunched 609 51% 02-26-89 21:22:12 6D0D
MASMDLL.DEF 79 Stored 79 0% 02-26-89 21:23:26 53B6
MEMMOVE.ASM 4035 Crunched 2298 44% 01-31-89 23:38:36 568A
MEMMOVE.OBJ 382 Crunched 364 5% 02-26-89 21:34:12 F193
PJINDEX.66 8992 Crunched 3927 57% 02-26-89 23:59:00 B3D4
PMDEV1.ARC 23114 Stored 23114 0% 03-09-89 14:29:04 D8A7
PMDEV2.ARC 19467 Stored 19467 0% 03-09-89 14:30:08 7403
PWCOMM1.ARC 4919 Stored 4919 0% 03-09-89 14:42:54 6343
PWCOMM2.ARC 5216 Stored 5216 0% 03-09-89 14:43:26 0C22
README.BBS 569 Crunched 357 38% 03-09-89 14:40:18 05C4
README7.2 7396 Crunched 3488 53% 02-27-89 10:24:42 1D02
SEMAPHOR.HXX 2950 Crunched 1743 41% 12-21-88 21:25:20 E2DA
SHARE.CXX 2024 Crunched 1214 41% 12-22-88 11:20:50 168A
TASK.HXX 1125 Crunched 757 33% 12-21-88 21:23:16 B42D
WINDEV1.ARC 19300 Stored 19300 0% 03-09-89 14:41:30 2EEC
WINDEV2.ARC 25482 Stored 25482 0% 03-09-89 14:42:06 45E8
---- ------ ------ -----
0025 156383 126600 20%
Code from Michael Abrash's "EGA and VGA Animation."
Using the EGA/VGA bit-plane architecture and color
palette for animation.
ANIMATE.ASM Assembler source program to demonstrate bit-plane animation
ANIMATE.EXE Executable file for a VGA
Example code based on Ray Michels' "Undocumented DOS
Internals." This sample code listing displays the
DOS device driver chain (similar to the DDI C utility in
PJ 6.6) using undocumented DOS calls to locate the device
chain start. Note that this code was not included with
the article.
DEVCHAIN.ASM Assembler source module (C small model)
DEVCHAIN.COM Executable COM file
Code from Steven Baker's "386 Now" column. Taking
advantage of fast 80386 block moves under DOS.
MEMMOVE.ASM Assembler source module (C small model)
MEMMOVE.OBJ Linkable object model for Microsoft and TurboC
(small model)
Code from Ray Duncan's "OS/2 Dynamic Link Libraries,"
adapted from "Advanced OS/2 Programming" from
Microsoft Press, 1989.
EXAMPLE.ASM Example code fragment showing runtime dynamic linking
MASMDLL.ASM Source code for an assembly language dynlink library
MASMDLL.DEF The module definition file for the skeleton MASMDLL.DLL
MASMDLL.DEF The module definition file for the skeleton MASMDLL.DLL
CDLL.C A skeleton dynlink library written in C
CINIT.ASM The assembler module containing the initialization entry
for CDLL.DLL
CDLL.DEF The module definition file for the skeleton CDLL.DLL
Code from Vaughn Vernon's "OS/2 Multitasking with Class."
Some classes for OS/2 threads and semaphores.
TASK.HXX C++ header file implementing the Task class
SEMAPHOR.HXX C++ header file defining the OS/2 Semaphore class
SHARE.CXX C++ sample file to test Task and Semaphore classes
Code from William Hall's "A Simple Debugging Utility
for Presentation Manager and Windows." A PM/Windows
expert shows how to write to a debugging window.
Only excerpts of this code were published in PJ 7.2.
PWCOMMON\TTYCLS: Subdirectory
ASCII.H
TTYCLS.C The TTY window code shared under both PM and windows
TTYCLS.H The TTY window header file
PWCOMMON\WPMAUX: Subdirectory
AUXPRT.H
WPMAUX.DOC Documentation on both WINAUX and PMAUX
PMDEV\PMAUX: Subdirectory
PMAUX Make file for WINAUX
PMAUX.C The PMAUX main module
PMAUX.DEF Definitions for PMAUX
PMAUX.EXE OS/2 PMAUX executable file
PMAUX.H The include file for PMAUX
PMAUX.MAP The Link map file
PMAUX.OBJ The main module object file
PMAUX.RC The resource file for PM debugging window
PMAUX.RES Output from the resource compiler
PMAUXFN.C PM auxiliary functions for debugging window
PMAUXFN.OBJ and the resultant object file
PMAUXNT.C PM initialization functions
PMAUXNT.OBJ and the resulting object file
TTYCLS.OBJ PM TTY code object module
WINDEV\WINAUX: Subdirectory
TTYCLS.OBJ Windows TTY code object module
WINAUX Make file for WINAUX
WINAUX.C The WINAUX main module
WINAUX.DEF Definitions for WINAUX
WINAUX.EXE Windows WINAUX executable file
WINAUX.H The include file for WINAUX
WINAUX.MAP The Link map file
WINAUX.OBJ The main module object file
WINAUX.RC The Windows resource file for debugging window
WINAUX.RES Output from the resource compiler
WINAUX.SYM A symbol file for Symdeb
WINAUXFN.C Windows auxiliary functions for debugging window
WINAUXFN.OBJ and the resulting object file
WINAUXNT.C Windows initialization functions
WINAUXNT.OBJ and the resulting object file
Also included is updated code from William Hall based
on his article "An OS/2 Presentation Manager Template"
from PJ volume 6.5. Microsoft altered the API enough
to break the original code. This new version should
compile and run correctly under the current PM SDK.
A comparable template for Windows is also included.
PMDEV\SPMTPL: Subdirectory
SPMTPL The PM Sample Template Make file
SPMTPL.C The main module
SPMTPL.DEF Definitions for SPMTPL
SPMTPL.EXE The OS/2 PM executable file
SPMTPL.H A header file for the sample template
SPMTPL.MAP A Link map file
SPMTPL.OBJ The main module object file
SPMTPL.RC The PM resource file
SPMTPL.RES Output from the resource compiler
SPMTPLNT.C Initialization functions
SPMTPLNT.OBJ and the resulting object files
WINDEV\SMLTPL: Subdirectory
SMLTPL The Windows sample template Make file
SMLTPL.C The main module
SMLTPL.DEF Definitions for SMLTPL
SMLTPL.EXE The Windows executable file
SMLTPL.H Sample Template header file
SMLTPL.MAP The Link map file
SMLTPL.OBJ The main module object file
SMLTPL.RC The Window resource file for the sample template
SMLTPL.RES Output of the resource compiler
SMLTPL.SYM A symbol file for use with Symdeb
SMLTPLNT.C Initialization functions
SMLTPLNT.OBJ and the resulting object file
Code fragments from John Newlin's "Disk Formatting."
System programming to deal with various floppy disk
formats and formatting.
FORMAT.PAS Turbo Pascal code fragments from the article
PJINDEX.66 Index to Programmer's Journal Volume 6, 1988.
An ascii text file of articles in PJ Volume 6
in 128-column-width format.
Programmer's Journal volume 7.3a May/June 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
BTRIEVE.C 9895 Crunched 4583 54% 04-20-89 13:45:26 D3A2
CUT.C 7063 Crunched 3705 48% 04-19-89 22:28:28 DECE
CUT.EXE 35000 Crunched 13322 62% 04-19-89 22:29:10 E369
DELIM.C 6413 Crunched 3222 50% 04-19-89 22:27:08 D2B3
DELIM.EXE 17774 Crunched 12691 29% 04-19-89 22:28:02 0343
DISPLAY.CLS 2942 Crunched 1426 52% 02-21-89 17:18:02 A3BB
DISPLAY.CPP 4765 Crunched 2496 48% 02-22-89 09:51:10 C20B
DOTS.CPP 1100 Crunched 727 34% 02-22-89 09:56:22 286F
DOTS.EXE 8558 Crunched 5910 31% 02-22-89 09:58:52 27BE
ESQL.C 927 Crunched 419 55% 04-19-89 21:55:20 3421
ESQL.COB 3967 Crunched 1603 60% 04-20-89 12:13:54 DA96
ESQL.PAS 934 Crunched 434 54% 04-19-89 21:56:48 0CB4
EVGALINE.ASM 13388 Crunched 5271 61% 02-05-89 10:25:32 643B
EVGALINE.C 6662 Crunched 3065 54% 02-05-89 10:25:32 8314
FASTDEMO.EXE 11256 Crunched 7664 32% 04-19-89 22:11:02 0D9F
GETOPT.C 1479 Crunched 898 40% 04-02-89 22:56:28 F6CD
GETOPT3.1 2904 Crunched 1760 40% 04-02-89 22:57:46 3CEE
GETOPT3.C 2542 Crunched 1592 38% 04-02-89 22:57:46 36F6
GETOPTD.OBJ 1411 Crunched 1159 18% 10-15-88 21:53:30 74CE
KEYBOARD.CLS 1937 Crunched 1041 47% 02-21-89 18:10:44 0A13
KEYBOARD.CPP 505 Crunched 386 24% 02-20-89 13:04:42 1653
LINEDEMO.C 2590 Crunched 1323 49% 02-04-89 22:20:32 1861
MOUSE.CLS 964 Crunched 667 31% 02-22-89 09:44:12 C6E2
MOUSE.CPP 2218 Crunched 1184 47% 02-20-89 11:39:18 6F8E
NEURAL.BAS 2304 Crunched 1171 50% 04-20-89 03:36:26 3F9B
PJINDEX.66 8992 Crunched 3927 57% 02-26-89 23:59:00 B3D4
POINT.CLS 816 Crunched 539 34% 02-22-89 09:02:32 D226
README7.3 9229 Crunched 4265 54% 04-20-89 03:41:48 5FE1
RECT.CLS 909 Crunched 587 36% 02-22-89 09:03:02 7258
SLOWDEMO.EXE 12411 Crunched 8420 33% 04-19-89 22:07:20 C276
---- ------ ------ -----
0030 181855 95457 48%
Code fragments from Tom Waite and Hal Hardenbergh's
"Neural Nets." A history of neural nets, breakthroughs,
learning, and training. Note that we haven't received
the complete inplementation of the back-propagation
algorithm in BASIC from Hal yet, so we'll include it
on the 7.4 code disk.
NEURAL.BAS Sample BASIC code fragments showing recall and training
a neural network using back-propagation.
Code from Michael Abrash's "Fast Line Drawing for the
EGA and VGA". Bresenham's algorithm implemented for
the EGA/VGA in both C and assembly language.
LINEDEMO.C C source program to demonstrate line drawing
EVGALINE.C Turbo C source module for line drawing using
Bresenham's algorithm for the EGA and VGA
SLOWDEMO.EXE Executable file based on Turbo C line drawing module
EVGALINE.ASM Assembly language source module for line drawing using
Bresenham's algorithm for the EGA and VGA
FASTDEMO.EXE Executable file based on assembly language line drawing
module
Code fragments from Richard Riehle's "Embedded SQL for
a Relational Database." Programming with SQL embedded
in COBOL, Pascal, and C.
ESQL.COB Sample COBOL code fragments showing embedded SQL syntax
ESQL.PAS Sample Pascal code fragments showing embedded SQL syntax
ESQL.C Sample C code fragments showing embedded SQL syntax
Code from Amrit Khalsa and Pete Maclean's
"Btrieve for C Programmers." A clean C interface
to the Btrieve file manager.
BTRIEVE.C C source code to the Btrieve interface described
in this article
Code from Steven Baker's "Converting Database Files
Using Filters." Quick and dirty file translation for
your database needs.
CUT.C C source code to a Unix like filter for DOS that
cuts fields or columns from a text file
GETOPTD.OBJ A small model object file of getopt from Turbo C
that supports the default dos switch character,
normally '/', and the Unix '-' character for options.
CUT.EXE An executable file based on the C source code
DELIM.C C source code to a filter that converts files with
some user-selected delimiter character to a comma
delimited file suitable for importing into dBASEIII
and similar database managers.
DELIM.EXE An executable file based on the source code
GETOPT3.C For those without Turbo C, the C source code to the
AT&T version of getopt released to the public domain.
GETOPT3.1 A description of the getopt function in NROFF format
from USENET comp/sources/misc group
GETOPT.C A derived version of getopt.c from the
GNU project's diff utility ported to DOS ported
by Kent Williams.
Code from William Hall's "A Substitute for the Missing
TYPE command in Windows." Font selection, file open
dialog boxes, accelerator keys, and multitasking in
Windows.
Only excerpts of this code were published in PJ 7.2.
WINDEV\WINVUE: Subdirectory
CSET.TXT A sample file to display containing non-ASCII characters
LONGSTR.H A header file for functions lstrcpy() and lstrlen()
TTYCLS.OBJ Windows TTY code object module
WINVUE Make file for WINVUE
WINVUE.C The WINVUE main module
WINVUE.DEF Definitions for WINVUE
WINVUE.EXE A Windows WINVUE executable file
WINVUE.H The include file for WINVUE
WINVUE.MAP The Link map file
WINVUE.OBJ The main module object file
WINVUE.RC The resource file for WINVUE
WINVUE.RES Output from teh resource compiler
WINVUE.SYM A symbol file for Symdeb
WINVUEFN.C Windows auxiliary functions for WINVUE
WINVUEFN.OBJ and the resulting object file
WINVUEMS.C WINVUE file open routines
WINVUEMS.OBJ and the resulting object file
WINVUENT.C Windows initialization functions
WINVUENT.OBJ and the resulting object file
Also included is updated code from William Hall based
on his article "A Simple Debugging Utility for
Presentation Manager and Windows" from PJ volume 7.2.
Microsoft/IBM changed the default font from a fixed font
to a proportional font and also altered the API again.
This new version should compile and run correctly
under the current PM SDK and the IBM OS/2 Version 1.1
retail release. Comparable changes for WINAUX (under
Windows is included.
PWCOMMON\TTYCLS: Subdirectory
ASCII.H
TTYCLS.C The TTY window code shared under both PM and windows
TTYCLS.H The TTY window header file
PMDEV\PMAUX: Subdirectory
PMAUX Make file for WINAUX
PMAUX.C The PMAUX main module
PMAUX.DEF Definitions for PMAUX
PMAUX.EXE OS/2 PMAUX executable file
PMAUX.H The include file for PMAUX
PMAUX.MAP The Link map file
PMAUX.OBJ The main module object file
PMAUX.RC The resource file for PM debugging window
PMAUX.RES Output from the resource compiler
PMAUXFN.C PM auxiliary functions for debugging window
PMAUXFN.OBJ and the resultant object file
PMAUXNT.C PM initialization functions
PMAUXNT.OBJ and the resulting object file
TTYCLS.OBJ PM TTY code object module
WINDEV\WINAUX: Subdirectory
TTYCLS.OBJ Windows TTY code object module
WINAUX Make file for WINAUX
WINAUX.C The WINAUX main module
WINAUX.DEF Definitions for WINAUX
WINAUX.EXE Windows WINAUX executable file
WINAUX.H The include file for WINAUX
WINAUX.MAP The Link map file
WINAUX.OBJ The main module object file
WINAUX.RC The Windows resource file for debugging window
WINAUX.RES Output from the resource compiler
WINAUX.SYM A symbol file for Symdeb
WINAUXFN.C Windows auxiliary functions for debugging window
WINAUXFN.OBJ and the resulting object file
WINAUXNT.C Windows initialization functions
WINAUXNT.OBJ and the resulting object file
Code from Vaughn Vernon's "User Interface Tools for
DOS." DOS classes for the display, keyboard, and
mouse.
POINT.CLS C++ class definition file for the Point class
RECT.CLS C++ class definition file for the Rectangle class
DISPLAY.CLS C++ class definition file for the Display class
DISPLAY.CPP C++ header file implementing the Display class
MOUSE.CLS C++ class definition file for the Mouse class
MOUSE.CPP C++ header file implementing the Mouse class
KEYBOARD.CLS C++ class definition file for the Keyboard class
KEYBOARD.CPP C++ header file implementing the Keyboard class
DOTS.CPP C++ sample file to demonstrate using Point, Rectangle,
Display and Mouse classes.
DOTS.EXE An executable file based on the source code
PJINDEX.66 Index to Programmer's Journal Volume 6, 1988.
An ascii text file of articles in PJ Volume 6
in 128-column-width format.
Programmer's Journal volume 7.3b May/June 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
PMDEV.ARC 25948 Stored 25948 0% 05-16-89 11:55:30 FA84
PWCOMMON.ARC 5609 Stored 5609 0% 05-16-89 11:58:52 5AC6
README7.3 9229 Crunched 4265 54% 04-20-89 03:41:48 5FE1
WINDEV.ARC 73417 Stored 73417 0% 05-16-89 12:17:54 E6C4
---- ------ ------ -----
0004 114203 109239 5%
Code fragments from Tom Waite and Hal Hardenbergh's
"Neural Nets." A history of neural nets, breakthroughs,
learning, and training. Note that we haven't received
the complete inplementation of the back-propagation
algorithm in BASIC from Hal yet, so we'll include it
on the 7.4 code disk.
NEURAL.BAS Sample BASIC code fragments showing recall and training
a neural network using back-propagation.
Code from Michael Abrash's "Fast Line Drawing for the
EGA and VGA". Bresenham's algorithm implemented for
the EGA/VGA in both C and assembly language.
LINEDEMO.C C source program to demonstrate line drawing
EVGALINE.C Turbo C source module for line drawing using
Bresenham's algorithm for the EGA and VGA
SLOWDEMO.EXE Executable file based on Turbo C line drawing module
EVGALINE.ASM Assembly language source module for line drawing using
Bresenham's algorithm for the EGA and VGA
FASTDEMO.EXE Executable file based on assembly language line drawing
module
Code fragments from Richard Riehle's "Embedded SQL for
a Relational Database." Programming with SQL embedded
in COBOL, Pascal, and C.
ESQL.COB Sample COBOL code fragments showing embedded SQL syntax
ESQL.PAS Sample Pascal code fragments showing embedded SQL syntax
ESQL.C Sample C code fragments showing embedded SQL syntax
Code from Amrit Khalsa and Pete Maclean's
"Btrieve for C Programmers." A clean C interface
to the Btrieve file manager.
BTRIEVE.C C source code to the Btrieve interface described
in this article
Code from Steven Baker's "Converting Database Files
Using Filters." Quick and dirty file translation for
your database needs.
CUT.C C source code to a Unix like filter for DOS that
cuts fields or columns from a text file
GETOPTD.OBJ A small model object file of getopt from Turbo C
that supports the default dos switch character,
normally '/', and the Unix '-' character for options.
CUT.EXE An executable file based on the C source code
DELIM.C C source code to a filter that converts files with
some user-selected delimiter character to a comma
delimited file suitable for importing into dBASEIII
and similar database managers.
DELIM.EXE An executable file based on the source code
GETOPT3.C For those without Turbo C, the C source code to the
AT&T version of getopt released to the public domain.
GETOPT3.1 A description of the getopt function in NROFF format
from USENET comp/sources/misc group
GETOPT.C A derived version of getopt.c from the
GNU project's diff utility ported to DOS ported
by Kent Williams.
Code from William Hall's "A Substitute for the Missing
TYPE command in Windows." Font selection, file open
dialog boxes, accelerator keys, and multitasking in
Windows.
Only excerpts of this code were published in PJ 7.2.
WINDEV\WINVUE: Subdirectory
CSET.TXT A sample file to display containing non-ASCII characters
LONGSTR.H A header file for functions lstrcpy() and lstrlen()
TTYCLS.OBJ Windows TTY code object module
WINVUE Make file for WINVUE
WINVUE.C The WINVUE main module
WINVUE.DEF Definitions for WINVUE
WINVUE.EXE A Windows WINVUE executable file
WINVUE.H The include file for WINVUE
WINVUE.MAP The Link map file
WINVUE.OBJ The main module object file
WINVUE.RC The resource file for WINVUE
WINVUE.RES Output from teh resource compiler
WINVUE.SYM A symbol file for Symdeb
WINVUEFN.C Windows auxiliary functions for WINVUE
WINVUEFN.OBJ and the resulting object file
WINVUEMS.C WINVUE file open routines
WINVUEMS.OBJ and the resulting object file
WINVUENT.C Windows initialization functions
WINVUENT.OBJ and the resulting object file
Also included is updated code from William Hall based
on his article "A Simple Debugging Utility for
Presentation Manager and Windows" from PJ volume 7.2.
Microsoft/IBM changed the default font from a fixed font
to a proportional font and also altered the API again.
This new version should compile and run correctly
under the current PM SDK and the IBM OS/2 Version 1.1
retail release. Comparable changes for WINAUX (under
Windows is included.
PWCOMMON\TTYCLS: Subdirectory
ASCII.H
TTYCLS.C The TTY window code shared under both PM and windows
TTYCLS.H The TTY window header file
PMDEV\PMAUX: Subdirectory
PMAUX Make file for WINAUX
PMAUX.C The PMAUX main module
PMAUX.DEF Definitions for PMAUX
PMAUX.EXE OS/2 PMAUX executable file
PMAUX.H The include file for PMAUX
PMAUX.MAP The Link map file
PMAUX.OBJ The main module object file
PMAUX.RC The resource file for PM debugging window
PMAUX.RES Output from the resource compiler
PMAUXFN.C PM auxiliary functions for debugging window
PMAUXFN.OBJ and the resultant object file
PMAUXNT.C PM initialization functions
PMAUXNT.OBJ and the resulting object file
TTYCLS.OBJ PM TTY code object module
WINDEV\WINAUX: Subdirectory
TTYCLS.OBJ Windows TTY code object module
WINAUX Make file for WINAUX
WINAUX.C The WINAUX main module
WINAUX.DEF Definitions for WINAUX
WINAUX.EXE Windows WINAUX executable file
WINAUX.H The include file for WINAUX
WINAUX.MAP The Link map file
WINAUX.OBJ The main module object file
WINAUX.RC The Windows resource file for debugging window
WINAUX.RES Output from the resource compiler
WINAUX.SYM A symbol file for Symdeb
WINAUXFN.C Windows auxiliary functions for debugging window
WINAUXFN.OBJ and the resulting object file
WINAUXNT.C Windows initialization functions
WINAUXNT.OBJ and the resulting object file
Code from Vaughn Vernon's "User Interface Tools for
DOS." DOS classes for the display, keyboard, and
mouse.
POINT.CLS C++ class definition file for the Point class
RECT.CLS C++ class definition file for the Rectangle class
DISPLAY.CLS C++ class definition file for the Display class
DISPLAY.CPP C++ header file implementing the Display class
MOUSE.CLS C++ class definition file for the Mouse class
MOUSE.CPP C++ header file implementing the Mouse class
KEYBOARD.CLS C++ class definition file for the Keyboard class
KEYBOARD.CPP C++ header file implementing the Keyboard class
DOTS.CPP C++ sample file to demonstrate using Point, Rectangle,
Display and Mouse classes.
DOTS.EXE An executable file based on the source code
PJINDEX.66 Index to Programmer's Journal Volume 6, 1988.
An ascii text file of articles in PJ Volume 6
in 128-column-width format.
Programmer's Journal volume 7.5 September/October 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
ASMHDR.C 3536 Crunched 1918 46% 06-27-89 08:19:14 66FC
ASMHDR.EXE 13788 Crunched 10485 24% 08-24-89 01:10:56 1097
COOP.C 2657 Crunched 1074 60% 07-03-89 08:40:34 1220
COOP.H 2255 Crunched 743 68% 07-03-89 08:40:34 9CF4
EVGALINE.C 5398 Crunched 2225 59% 08-03-89 14:54:30 3DB0
GRAPHWLD.PAS 7259 Crunched 3131 57% 06-08-89 15:10:08 F46B
GRWDEMO.PAS 6195 Crunched 3335 47% 06-08-89 15:10:08 2E08
JOE.CXX 12 Stored 12 0% 05-05-89 09:44:12 B174
JOE.H 13 Stored 13 0% 05-05-89 09:44:42 18AF
JOE.HXX 12 Stored 12 0% 05-05-89 09:44:32 70D1
LIBGEN.C 2278 Crunched 1173 49% 06-27-89 08:18:18 FE3D
LIBGEN.EXE 10265 Crunched 8093 22% 08-24-89 00:58:08 9B7C
MAKE.C 9501 Crunched 4674 51% 05-05-89 09:53:22 7599
MAKE.DOC 4066 Crunched 1541 63% 08-18-89 14:06:14 AD46
MAKE.EXE 16813 Crunched 13560 20% 05-05-89 09:54:22 C094
MAKE.MAK 305 Crunched 194 37% 06-12-89 23:34:34 F129
MAKEFILE 168 Crunched 121 28% 05-05-89 09:43:44 F5C8
MK.BAT 280 Crunched 198 30% 08-18-89 14:07:16 7E13
MS_DOS.ASM 203 Crunched 156 24% 06-27-89 12:50:06 BCFF
OOP.CLS 3998 Crunched 1167 71% 07-03-89 08:40:36 99C2
OUTCHR.ASM 247 Crunched 179 28% 06-27-89 12:19:18 8BC0
PJINDEX.66 8992 Crunched 3927 57% 02-26-89 23:59:00 B3D4
PUBCLASS.H 1263 Crunched 697 45% 06-12-89 22:53:08 962C
README7.5 6819 Crunched 3392 51% 08-28-89 10:24:56 BF69
SEND.C 1430 Crunched 747 48% 07-19-89 12:57:02 1B8B
SUE.CPP 12 Stored 12 0% 05-05-89 09:44:54 F0D1
SUE.HPP 12 Stored 12 0% 05-05-89 09:45:06 3174
TEST.C 1889 Crunched 843 56% 07-03-89 08:40:36 2CB4
TEST.EXE 11049 Crunched 7657 31% 06-15-89 01:00:38 3CA3
TEST2.C 766 Crunched 474 39% 07-03-89 08:40:36 0B58
TEST2.EXE 14461 Crunched 9600 34% 06-12-89 23:36:48 6074
TEST360.C 6699 Crunched 3020 55% 06-11-89 10:09:40 D683
TEST360.EXE 12404 Crunched 8435 32% 08-24-89 00:52:50 C561
TIMER.PAS 2928 Crunched 1158 61% 08-03-89 14:49:50 32F1
VGA360.ASM 6404 Crunched 3296 49% 06-11-89 10:06:54 48D7
---- ------ ------ -----
0035 164377 97274 41%
Code from the John Navas letter illustrating high-
performance C code to draw lines fast on EGA and
VGA cards.
EVGALINE.C C code for EVGA line drawing.
Code from the Thomas Leathley letter illustrating
TIMER.PAS a high-resolution timer in Turbo Pascal.
Code from Michael Abrash's "Still-Higher 256-Color
VGA Resolutions." Michael shows how to crank
standard VGAs up to 360x480 256-color resolution.
A high-resolution timer for testing your graphics code.
VGA360.ASM Assembly language source code module callable from C
for high-resolution 360x480 modes. Subroutines include
setting the 360x480 mode, drawing a dot in
360x480 256-color mode, and reading the color of a dot
in this mode.
TEST360.C Sample C program to illustrate VGA line drawing in the
360x480 256-color mode.
TEST360.EXE An executable version of this sample 360x480 line-
drawing program.
The UNIX-like MAKE utility code mentioned in Vaughn
Vernon's "The Forest for the Trees." Creating class
libraries in C++ that cooperate and coexist.
MAKE.DOC Documentation on Vaughn Vernon's MAKE program that
creates batch files for execution.
MAKE.C C source code to this simple MAKE program.
MAKE.EXE An executable of this MAKE program.
JOE.CXX Sample files used to test the MAKE program.
JOE.H \ \
JOE.HXX \ \
SUE.CPP \ \
SUE.HPP \ \
MAKEFILE The sample makefile.
MK.BAT The output batch file created.
Code from Steve Sando's "From C to Objects."
Bridging the gap between traditional and object-
oriented programming in C with a little class.
COOP.C C functions to handle two-way linked lists.
COOP.H Structure definitions for simulated objects.
MAKE.MAK A make file for building object modules and
test programs.
OOP.CLS Methods for two-way linked lists.
PUBCLASS.H Methods for handling objects.
SEND.C A sample send function used for passing messages.
TEST.C A sample program to test the two-way linked-list
functions using straight C.
TEST.EXE An executable version of this test program.
TEST2.C A sample program the same as TEST.C to test the
two-way linked list functions, except using objects.
TEST2.EXE An executable version of this test program.
Code from John Otken's "A Library System for Assembly."
Our assembly language coding wizard describes how to
use libraries effectively and gives a detailed look
at 80x86 register usage.
ASMHDR.C A Turbo C program to process assembly language headers
for documentation and library generation.
AMSHDR.EXE An executable version of this program.
LIBGEN.C A C program to generate miscellaneous control
files for building assembly language libraries.
LIBGEN.EXE An executable version of this program.
MS_DOS.ASM Example assembly language source module for calling
MS-DOS.
OUTCHR.ASM Example assembly language source module for sending
a character to stdout (normally the screen).
Code from Gene Fowler's "The World in Your Hands."
Adding world scaling to Turbo Pascal's BGI graphics
primitives.
GRAPHWLD.PAS A Turbo Pascal unit that extends Graph.tpu
to handle world coordinates by providing
parallel drawing procedures that translate
world to viewpoint coordinates
for documentation and library generation.
GRWDEMO.PAS A stripped down 3-D object rotator and translator
written in Turbo Pascal that illustrates the GraphWld
procedures.
PJINDEX.66 Index to Programmer's Journal Volume 6, 1988.
An ASCII text file of articles in PJ Volume 6
in 128-column-width format.
Programmer's Journal volume 7.6 November/December 1989
Filename Length Method Size Ratio Date Time CRC
-------- ------ ------ ------ ----- ---- ---- ---
ALTMON.PAS 16112 Crunched 7110 56% 06-07-89 15:27:00 C07A
ALTMON.TPU 12672 Crunched 6461 50% 06-07-89 16:02:32 3525
ALTTEST.EXE 14896 Crunched 10474 30% 06-07-89 16:02:34 7B1B
ALTTEST.PAS 7376 Crunched 3381 55% 06-07-89 16:02:30 DE63
ASMCOM.BAT 85 Crunched 62 28% 07-06-89 12:18:28 F045
MSDOS.ASM 1006 Crunched 613 40% 08-30-89 01:55:30 76D2
PANNING.ASM 12944 Crunched 5930 55% 08-13-89 16:57:44 8263
PEEPER.ASM 3450 Crunched 1853 47% 07-31-89 10:08:04 1B31
RANDOM.ASM 1243 Crunched 829 34% 08-31-89 18:45:22 E216
README7.6 6709 Crunched 3338 51% 10-23-89 09:38:22 D672
SEARCHST.ASM 2956 Crunched 1501 50% 10-17-89 01:51:34 CC27
SPLITSCN.ASM 10577 Crunched 4854 55% 08-13-89 16:50:08 C1B2
TOMCOM.ASM 5161 Crunched 2780 47% 07-31-89 10:08:04 7D3A
TOMPEEK 167 Crunched 111 34% 07-05-89 15:20:36 7F0D
TOMPEEK.C 1180 Crunched 804 32% 07-31-89 10:08:02 A3DD
UITEM.PAS 994 Crunched 581 42% 08-18-89 15:21:16 7AD9
UKEYS.PAS 878 Crunched 539 39% 08-18-89 15:21:10 054A
ULIST.PAS 3674 Crunched 1679 55% 08-18-89 15:21:24 240C
USTRITEM.PAS 1791 Crunched 982 46% 08-18-89 15:21:36 36ED
WINDEV.ARC 87315 Stored 87315 0% 10-27-89 12:18:00 8AED
WINSTACK.C 821 Crunched 567 31% 04-25-88 14:56:32 5F4B
WINSTACK.H 244 Crunched 204 17% 04-25-88 14:13:54 B9CC
WINSTACK.OBJ 528 Crunched 477 10% 08-23-89 10:01:28 1007
WINTEST.C 992 Crunched 613 39% 08-23-89 10:00:58 6A24
WINTEST.EXE 17421 Crunched 12940 26% 08-23-89 10:02:14 21EF
WINTEST.OBJ 924 Crunched 742 20% 08-23-89 10:01:48 996E
---- ------ ------ -----
0026 212116 156740 27%
Code from Michael Abrash's "VGA and EGA Split Screens."
Using the nifty but surprisingly tricky split-screen
features of the EGA and VGA.
SPLITSCN.ASM Assembler source program to demonstrate EGA/VGA split
screen.
PANNING.ASM Assembler source program to demonstrate the interaction
of the split screen and horizontal pel panning on EGA/VGA.
Code from Vaughn Vernon's "Human Interfaces with Curses."
Text-based user interfaces under DOS and UNIX with the
Curses C library for device independence.
WINSTACK.C C code to manage a stack of Curses windows.
WINSTACK.H Header file to support winPush and winPOP.
WINSTACK.OBJ Object module.
WINTEST.C C code to test the Curses window stacking.
WINTEST.EXE The executable test program.
WINTEST.OBJ The object module file used for linking.
Code from Guy Cole's "Cooking with Stereo Video."
Using two video displays in your next Turbo Pascal
application.
ALTMON.PAS A Turbo Pascal unit that provides support for
allowing the utilization of two video monitors.
ALTMON.TPU The Turbo Pascal TPU created by compiling.
ALTTEST.PAS A Turbo Pascal program to test the Altmon module.
ALTTEST.EXE The executable test file.
Code from John Otken's "Efficient 80x86 Memory Models
and Static Variables." Using static and automatic
variables, equates, and macros for efficient assembly
language programming.
RANDOM.ASM Assembly language code that illustrates using memory
models--this program calculates some random numbers.
MSDOS.ASM Assembly language routines to be used in a library.
Code from Tom Swan's "Using OOP to Create a Powerful
File Viewer." Tom illustrates the value of
object-oriented programming in Turbo Pascal 5.5 by
creating a powerful file utility.
UITEM.PAS Code to initialize and destroy an item object's memory.
UKEYS.PAS Some keyboard input support routines.
ULIST.PAS Tom's list-manager module.
USTRITEM.PAS Code to initialize and destroy string items.
Code from Thomas Roden's "Four Gigabytes in Real Mode."
A slick trick to access large memory spaces on the
80386 from DOS.
ASMCOM.BAT A batch file to assemble and link TOMCOM.
PEEPER.ASM Assembly language subroutines to move memory from
a 4-gigabyte linear address into a buffer in the
current data segment.
TOMCOM.ASM A program to relax segment limit on GS in real-address
mode.
TOMPEEK A make file for the memory peeker that illustrates this
technique.
TOMPEEK.C A high-memory peek utility.
Code from Ethan Winer's "QuickBASIC's Fast String-
Searching Algorith." QuickBASIC contains a fast
string-searching algorithm that may be useful to
other language programmers as well.
SEARCHST.ASM QuickBASIC's implementation of a fast string-searching
routine for use with other languages.
Code from William Hall's "A Simple Terminal Program for
Windows." Our Windows/PM expert illustrates using the
communications interface along with font selection,
and dialog boxes under Microsoft Windows.
Only excerpts of this code were published in PJ 7.6.
\WINDEV Sub-Directory for WINDOWS code.
ASCII.H
CSET.TXT
COMM.DRV
LONGSTR.H
TTYCLS.C The TTY window code shared under both PM and windows.
TTYCLS.H The TTY window header file.
AUXPRT.C
AUXPRT.H
WPMAUX.DOC Documentation on both WINAUX and PMAUX.
WNTERM Make file for WINTERM.
WNTERM.C The WNTERM main module.
WNTERM.DEF Definitions for WNTERM.
WNTERM.DOC Documentation on WNTERM.
WNTERM.EXE WNTERM executable file.
WNTERM.H The include file for WNTERM.
WNTERM.RC
WNTINT.C WNTERM interrupt functions.
WNTMSC.C WNTERM miscellaneous functions.
WINAUX Make file for WINAUX.
WINAUX.C The WINAUX main module.
WINAUX.DEF Definitions for WINAUX.
WINAUX.EXE WINAUX executable file.
WINAUX.H The include file for WINAUX.
WINAUX.RC
WINAUXFN.C
WINAUXNT.C
WINVUE Make file for WINVUE.
WINVUE.C The WINVUE main module.
WINVUE.DEF Definitions for WINVUE.
WINVUE.EXE WINVUE executable file.
WINVUE.H The include file for WINVUE.
WINVUE.RC
WINVUEFN.C
WINVUEMS.C
WINVUENT.C